/*
抽象类中可以有成员变量，构造方法，成员方法;
抽象类中可以有抽象方法，也可以没有;
拥有抽象方法的类必须是抽象类;
因此真正意义上的抽象类应该是具有抽象方法并且使用abstract关键字修饰的类.
抽象类的实际意义不在于创建对象，在于被继承。

 */

package javase.module2.task04;

public abstract class AbstractTest {
    private int cnt;

    public AbstractTest() {
    }

    public AbstractTest(int cnt) {
        setCnt(cnt);
    }

    public int getCnt() {
        return cnt;
    }

    public void setCnt(int cnt) {
        this.cnt = cnt;
    }
    // 抽象方法没有方法体 Abstract methods cannot have a body
    public abstract void show();

    public static void main(String[] args) {
        // 声明该类类型的引用指向该类类型的对象
        // 抽象类不能new对象，因为抽象方法没有方法体
        // AbstractTest at = new AbstractTest();
        // System.out.println("at.cnt = "+at.getCnt()); //0
    }
}
